/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package AccesoBusquedas;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
import sifact.conexion.cConexion;

/**
 *
 * @author Cyber Huevadictos
 */
public class AB_Factura {

    private Object[] fila;
    private DefaultTableModel modelo;
    private Connection cn;
    private Statement st;
    static final int COL = 3;
    //Constructor

    public AB_Factura() {

        try {
            this.cn = cConexion.estado();
            this.st = this.cn.createStatement();
        } catch (Exception ex) {
//            Logger.getLogger(cFiltroTabla.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    //

    public DefaultTableModel TFactura(String FILTRO, int num) throws Exception {
        this.modelo = new DefaultTableModel();
        //CREO LAS COLUMNAS
        this.modelo.addColumn("NUMERO FACTURA");
        this.modelo.addColumn("NOMBRE CLIENTE");
        this.modelo.addColumn("APELLIDO CLIENTE");
        //
        this.cn = cConexion.estado();
        this.st = this.cn.createStatement();
        switch (num) {
            case 1:
                try {// aqui es la condicion 1
                    ResultSet rs = st.executeQuery("select * from vista_facturas_no_anuladas where \"numIDFactura\" = " + Integer.parseInt(FILTRO) + ";");
                    while (rs.next()) {
                        this.fila = new Object[COL];
                        for (int i = 0; i < COL; i++) {
                            this.fila[i] = rs.getObject(i + 1);
                        }

                        modelo.addRow(fila);
                    }
                    rs.close();
                } catch (Exception ex) {
                }
                break;
            case 2:
                try {// aqui es la condicion 2
                    ResultSet rs = st.executeQuery(" select * from vista_facturas_no_anuladas where \"txtNombre\" LIKE '%" + FILTRO + "%';");
                    while (rs.next()) {
                        this.fila = new Object[COL];
                        for (int i = 0; i < COL; i++) {
                            this.fila[i] = rs.getObject(i + 1);
                        }

                        modelo.addRow(fila);
                    }
                    rs.close();
                } catch (Exception ex) {
                }
                break;
            default:
                try {// la primera vez lleno la tabla sin condiciones
                    ResultSet rs = st.executeQuery("select * from vista_facturas_no_anuladas;");
                    while (rs.next()) {
                        this.fila = new Object[COL];
                        for (int i = 0; i < COL; i++) {
                            this.fila[i] = rs.getObject(i + 1);
                        }

                        modelo.addRow(fila);
                    }
                    rs.close();
//            jTable1.setModel(modelo);
                } catch (Exception ex) {
//            JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
//            ex.printStackTrace();
                }
                break;
        }
        cn.close();
        st.close();
        return modelo;

    }
}
